System and method for monitoring trades outside of a no-bust range in an electronic trading system

ABSTRACT

An alert system that notifies an Exchange&#39;s staff of a trade that appears to be outside of an expected market range of prices includes an input device, determination logic, evaluation logic, and alert logic. The determination logic derives a theoretical no-bust range of prices based on data received from the input device. The theoretical no-bust range of prices are prices above and below a synthesized market price, within which an erroneous trade cannot be cancelled. The evaluation logic monitors trades and compares those trades to the theoretical no-bust range of prices. The alert logic notifies the Exchange&#39;s staff when the evaluation logic identifies a potentially erroneous trade that lies outside the theoretical no-bust range of prices. A method of notifying the Exchange of a trade that potentially lies outside of an expected range of prices includes monitoring an input range of prices and deriving the theoretical no-bust range of prices. The method then compares transactions prices to the theoretical no-bust range of prices and notifies the Exchange when a potentially erroneous trade can be cancelled.

FIELD OF THE INVENTION

[0001] This invention relates to a system and a method that monitor investments, and more particularly, to a system and a method that monitor trades outside of a theoretical no-bust range in an electronic trading system.

BACKGROUND

[0002] The speed and efficiency through which investments can be executed through electronic trading systems provide many benefits. In many markets, Electronic Exchanges facilitate a greater number of market participants than do other Trading Exchanges. The greater the number of market participants, the greater the market's liquidity. In liquid markets, prices are driven down by competition; prices reflect a consensus of what an investment is worth; and the trading systems provide a free and open dissemination of information.

[0003] While speed and efficiency of many electronic markets can enhance market participant's wealth, these same qualities can increase the adverse affect of a trade that is executed in error. Specifically, orders executed at prices substantially away from a market price can cause other market participants both in their markets and in related markets to make unsound decisions. In a futures market, for example, a buyer's large order executed at a price much higher than a prevailing market price can cause other sellers to substantially raise their prices, ultimately, pricing some buyers out of that market and leading to executed transactions that result in substantial losses for other buyers. In futures markets these errors can induce buyers and sellers in that market, in a related derivative market, and/or in an underlying cash market to make unsound decisions. The harmful effect of an erroneous trade can extend well beyond the market participants of that trade by affecting the integrity of the entire market and other markets. Furthermore, undetected erroneous trades may have a lasting impact on historical price information and various technical charting strategies used by market participants.

[0004] To mitigate these harmful effects, some Exchanges have adopted policies and procedures that, in appropriate cases, permit the cancellation of a clearly erroneous trade. Some of these Exchanges attempt a prompt resolution of a trade error by establishing a narrow timeframe within which a party may request that a trade be cancelled. To assure that only erroneous trades that may significantly affect other market participants are the only trades subject to cancellation, some Exchanges adopted a “no-bust range.” In a “no-bust range,” erroneous trades executed within a price range may not be subject to cancellation, even if executed in error to avoid penalizing the innocent traders that lack notice. Unfortunately, the “no-bust range” can be susceptible to subjectivity as Exchanges are not always able to define an “erroneous price.”

[0005] Although many policies and procedures are intended to enhance the integrity of markets, some are not agile enough to respond to the many errors that an Electronic Exchange encounters. The increasing use of automated arbitrage systems, for example, allow some market participants to benefit from erroneous prices. Such failures penalize counterparties to those trades, and create risk and uncertainty by artificially influencing the value of those trades. Some approaches do not scale well to large networks, new products, or the large volatility that occurs in those markets that trade popular contracts. These approaches can require repeated modifications that increase price instability and distort price discovery.

SUMMARY

[0006] The present invention is defined by the following claims. This description summarizes some aspects of the present embodiments and should not be used to limit the claims.

[0007] An alert system embodiment for notifying an Exchange staff of a trade that appears to be outside of an expected market range of prices comprises an input device, determination logic, and evaluation logic. The input device provides data used to generate a theoretical no-bust range of prices. The determination logic derives the theoretical no-bust range of prices within which an erroneous trade cannot be cancelled. The evaluation logic monitors trades matched through an electronic matching system and compares those trades to the theoretical no-bust range of prices. The alert logic provides a notification when the evaluation logic identifies a potentially erroneous trade that lies outside of the theoretical no-bust range of prices.

[0008] A method of notifying an Exchange of a trade that potentially lies outside of the expected range of prices comprises monitoring an input range of prices; deriving a theoretical no-bust range of prices; monitoring transactions executed by an automated matching system; comparing the prices of the transactions to the theoretical no-bust range of prices to determine if a potentially erroneous trade can be cancelled; and notifying an Exchange when one or more of the prices of a transaction lies outside of the theoretical no-bust range of prices.

[0009] Further aspects and advantages of the invention are described below in conjunction with the present embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010]FIG. 1 is a system view of an alert embodiment.

[0011]FIG. 2 is a second system view of an alternative alert embodiment.

[0012]FIG. 3 is a system view of a trade evaluation system of FIG. 2.

[0013]FIG. 4 is a flow diagram of an embodiment of an alert method.

[0014]FIG. 5 is a continuation of the flow diagram of FIG. 4 illustrating additional optional acts.

[0015]FIG. 6 is a functional diagram of an alternative alert embodiment.

[0016]FIG. 7 is a flow diagram of a trade limit opening method.

[0017]FIG. 8 are flow diagrams of trade limit operational methods.

[0018]FIG. 9 is a continuation of the trade limit operational methods of FIG. 8.

[0019]FIG. 10 is a flow diagram of a trade limit closing method.

[0020]FIG. 11 are flow diagrams of a trade limit restart, a constant value, and file name methods.

[0021]FIG. 12 is a flow diagram of an error routine method.

[0022]FIG. 13 is a flow diagram of a trade limit method.

DETAILED DESCRIPTION OF THE PRESENT EMBODIMENTS

[0023] The present embodiments of the system and method provide Exchanges and users with a flexible approach and structure that minimize the harmful effects of selected trades executed in error. While the present embodiments are not used to rectify all market errors, the system and method can intervene by automatically identifying a trade that would appear to be outside of an expected, a predicted, or a prevailing market range of prices. A price that is not consistent with the history of a contract, is not consistent with the history of an underlying commodity, is not consistent with the price of a highly correlated investment, or is not consistent with, or bears no relationship to, a fair market value may be identified. In some embodiments, a program may analyze trades. Because some market participants are not always aware of trades they execute in error, some embodiments identify errors before market participants discover them.

[0024]FIG. 1 is a system diagram of a present alert embodiment. FIG. 1 illustrates a hub-and-spoke relationship, wherein each resource, application, or order flows through a single entity (e.g., the hub 110) before being received by servers 102-108. In this embodiment, the hub 110 and the servers 102-108 can each comprise a single server or a server cluster that comprise a group of independent computers that work together as a single system but present the appearance of a single server to one or more clients. In FIG. 1, the clients are illustrated as a workstation 114, interfaces 120-126, and one or more networks such as a wide area network (“WAN”), a local area network (“LAN”), a ring network, a token ring network, a bus network, 128 and 130, etc. Other peripheral devices can be coupled to the workstation 114, such as a printer 112, a speaker 116, a light source 132, and/or any other device that converts electrical signals into sound, light, and/or tactile forces that are perceptible to the sense of touch, etc.

[0025] Preferably, the hub 110 comprises a management server. Preferably, the management server electronically receives, converts, and transfers data in a form compatible with protocols used by the servers 102-108, the workstation 114, the communication link 118, the interfaces 120-126, and the networks 128 and 130. The interfaces can include an application programming interface (an “API”) 124, a data interface 122, a market data interface 120, and/or other interfaces 126, for example. Preferably, the market data interface 120 provides quote vendors with access to selected output disseminated from the hub 110.

[0026] In this embodiment, the hub 110 also provides routing control to a trade matching system, such as an automated trading engine shown as servers 104 and 106. When orders are matched automatically by a matching algorithm or system within one or both of the servers 104 and/or 106, preferably the details of the trade and information of interest to the market are returned to a trade evaluation system, the quote vendors, and the trade participants. Preferably, the trade participants include the buyers and the sellers.

[0027] Preferably, the trade evaluation system, shown as a server 102 in FIG. 1, interfaces the hub 110. In one embodiment, the trade evaluation system includes a first processor or determination logic that interprets and assesses pricing data, a memory that stores and retrieves data, and evaluation logic that can comprises a second processor or relies on the computing power of the first processor. Preferably, the evaluation logic is suitable for calculating a discrete variable that represents a synthetic or theoretical market price and an interval that extends above and below the synthetic market price. Preferably, the interval or theoretical no-bust range is fixed within a number of ticks above and below the synthetic market price and can differ with each contract.

[0028] When the present system and method is used in a futures Exchange, the theoretical no-bust range comprises a price interval within which transactions that fall within that interval are not subject to cancellation by the Exchange. Preferably, trades that fall within the theoretical no-bust range do not have a significant adverse effect on the market, and therefore, the trade stands in the Exchange even in error. Certainly, in some embodiments and Exchanges, trades that fall within the theoretical no-bust range can be cancelled by agreement between the market participants, but that can require all market participants to that trade to reach agreement. In other embodiments and Exchanges, the trades that fall within the theoretical no-bust range cannot be cancelled by agreement.

[0029] Preferably, the other interfaces 126, the APIs 124, the market data interfaces 122, the data interfaces 122, the networks 128 and 130. etc., provide market participants, quote vendors, and others with real and/or delayed time access to trade data. The trade data can include investment prices such as futures contract prices, settlement prices, bids, offers, and other Exchange related or derived information. In some embodiments, inter-process communication methods, such as a Dynamic Data Exchange (“DDE”) and/or an Object Linking and Embedding (“OLE”) are used to exchange data and commands between two or more servers or applications that are running simultaneously.

[0030] As shown in FIG. 2, the alert embodiment includes input devices 204-208, a trade evaluation system 202, user interfaces 212 and 214, and a control center 216. Preferably, the input devices include devices that provide quotes 204 and 206 and other data 208 to the trade evaluation system 202. Such data can include separate, bid, offer, and trade prices, the daily cash settlement prices, pre-defined and/or monthly moving averages, etc. Other Exchange data can include the official high bid and low offer prices for contract through a variable or defined interval, real-time or delayed option volatilities, moving average settlement prices, open interest data, provisional and final exchange rates, position reports, etc. Preferably, the quote and data devices 204-208 provide the data that the trade evaluation system 202 needs to generate a synthetic market price. Preferably, the synthetic market price reflects a calculated worth or a consensus value of a commodity or another financial instrument at predetermined times in the past or future.

[0031] Preferably, the trade evaluation system 202 derives a synthetic market price and theoretical no-bust ranges through a sequence of steps. These steps can vary by the types of instruments (e.g., product, service, etc.), the types of commodities (a long list of products that includes financial instruments and currency), the markets, the pricing of related products, the histories of the commodity, and/or other circumstances or data surrounding or related to a contract or an investment.

[0032] In this embodiment, the cash market, which is the actual or spot market, is where the commodities themselves are bought and sold. The cash price is the actual price of the physical commodity; a futures price is the price of a contract in a futures market. Although cash and futures prices are not the same, in some instances the prices have a tendency to parallel each other. As the expiration date of a futures contract approaches, for example, preferably the separation between the two prices, the basis, converge. Because of this strong relationship in prices, in some instances, the trade evaluation system 202 can execute a correlation analysis to predict a forward or a regressive synthetic market price and a theoretical no-bust range in the futures market based on the cash market prices.

[0033] Similarly, a strong relationship can exist between commodities traded in an automatic matching system and the commodities traded in a physical exchange. At the Chicago Mercantile Exchange (“CME”), for example, futures trading of the Standard and Poor's 500 Stock Price Index (“S&P 500®”), are sold by contract in the trading pits through live, open outcry trading. A smaller version of this contract, the E-mini Standard and Poor's 500 futures (“E-mini S&P 500®”) is sold electronically through the Chicago Mercantile Exchange's (“CME's”) GLOBEX® trading system. Due to the relatively high correlation between these two markets, in some instance, the trade evaluation system 202 can also execute a correlation analysis or use inference logic to predict a forward or a regressive futures price and/or a theoretical no bust range of the E-mini S&P 500® based on the S&P 500® futures traded in the pits. In this instance, historical prices tracked from the trading floor can be used to determine the synthetic market price and a theoretical no-bust range for a contact traded in an automated Exchange.

[0034] Similarly, highly correlated products traded separately or in a common venue can also be used by the trade evaluation system 202 to predict the market price of a commodity at a time in the future or the past. For instance, the E-mini NASDAQ-100® traded at the Chicago Mercantile Exchange (“CME”), which is about one fifth of the size of the NASDAQ Index (“National Association of Securities Dealers Automated Quotation System Index”), can also be used to predict a forward and/or a regressive futures price and a theoretical no-bust range for another index. If a strong relationship exists between the E-mini NASDAQ-100® and an illiquid equity stock index, for example, the trade evaluation system 202 can use inference logic or a prediction algorithm to predict a forward or a regressive synthetic price and a theoretical no-bust range for the illiquid equity stock index without relying on a prevailing market price that may not reflect the actual state of the marketplace.

[0035] As shown in FIG. 2, the trade matching system 210 couples the user interfaces 212 and 214 to the trade evaluation system 202. Preferably, the trade matching system uses one or more matching algorithms, such as a “first in, first out” (“FIFO”), an allocation algorithm, a hybrid price/time priority, such as a Lead Market Maker (“LMM”), etc., for example, to automatically match orders. Once the details of the orders are entered through the user interfaces 212 and 214, preferably, the trade matching system 210 executes the trade and transmits matched trade data (e.g., instrument type, the price, the quantity, the buyer, the seller, etc.) to the trade evaluation system 202 and user interfaces 212 and 214. The trade matching system 210 also transmits matched trade data and quote data to the quote and data vendors 204-208. Preferably, the matched trade data and quote data describe the most recent movements of the markets.

[0036] Through the Control Center 216, preferably the Exchange or members of the Exchange oversee the cancellation of potential trading errors. Preferably, the identification of a potential erroneous trade occurs in a narrow time fame as does the Exchange's or member's decision whether to cancel such a trade. To assure that market participants are aware that an erroneous trade may be cancelled, preferably, the trade evaluation system 202 provides a prompt notice to the user interfaces 212 and 214, the control center 216, and any independent communication systems. In some instances, the embodiment of FIG. 2 provides automatic notices only to the control center 216, allowing the Exchange to notify market participants of such a trade through a messaging system.

[0037] Because market participants may not be aware that an erroneous trade occurred due to the large volume of messages sent over an electronic trading system or because the market participants are no longer trading, the present system and method also can encompass independent communication systems that are coupled to the trade evaluation system 202 to convey warnings/alerts that a trade may be cancelled. Such systems can include devices that send and/or receive messages via telecommunication or wireless links such as portable phones, personal digital assistants (“PDAs”), and/or electronic mail devices, devices that send and/or receive images and can print them on a tangible media such as faxes, etc. Preferably, these systems make market participants aware of a possible erroneous trade in a narrow timeframe.

[0038] Once a potential erroneous trade has been identified and been found to have been traded outside of the theoretical no-bust range, the trade evaluation system 202 alerts the control center 216. Preferably, the control center 216 attempts to resolve the error through the Exchange's policies and procedures. At the Chicago Mercantile Exchange (“CME”), for example, if all parties to a trade agree to cancel a trade, and no third party notifies the GLOBEX® Control Center within a narrow timeframe, the trade will be cancelled by the GLOBEX® Control Center. If a party to the trade cannot be contacted or does not agree to cancel a trade, the GLOBEX® Control Center will initiate an investigation, examine the underlying circumstances of the trade, and make a decision whether to cancel the trade. If the erroneous trade is cancelled, the GLOBEX® Control Center can then consider canceling contingent and other orders executed as a result of the erroneous trade.

[0039] Preferably, the system and method automatically identifies a potential erroneous trade through the trade evaluation system 202. One embodiment of the trade evaluation system 202 is shown in FIG. 3. In this embodiment, the trade evaluation system 202 includes determination logic 302 that can comprise a first processor that interprets and assesses pricing data, memory 306 resident to or separate from the determination logic 302 that stores data for retrieval, and evaluation logic 304 that can comprise a second processor or relies on the computing power of the determination logic 302. Preferably, the evaluation logic 304 is suitable for calculating a synthetic market price and an interval that extends above and below the synthetic market price. Preferably, the interval or theoretical no-bust range is fixed within a number of ticks above and below the synthetic market price but can differ with each contract.

[0040] Preferably, the determination logic 302 determines or calculates the synthetic market price based at least in part upon the data provided by the quote 204 and 206 and/or the data devices 208. When the data is received by the trade evaluation system 202 some of it is processed by the determination logic 302 and can be stored in a non-volatile or volatile memory 306. Preferably, the determination logic 302 calculates the synthetic market prices and theoretical no-bust ranges upon demand, in delayed-time, or in real-time as an investment ticks, meaning as a price moves. Preferably the synthetic market prices, and in some embodiments, the theoretical no-bust ranges are stored in memory 306. By storing one or both of these values, the present system and method can recreate a theoretical market in a substantially narrow time frame. The storage of one or both of these values can preserve market integrity by minimizing the possibility of canceling a trade well after it has been executed.

[0041] Preferably, the evaluation logic 304 compares the trade prices received from the trade matching system 210 to the synthesized no-bust range. While in some embodiments price comparisons can occur in delayed or batch time, preferably, the comparison occurs in real-time which is within a narrow time period after a trade has occurred. If the price of the trade is within the theoretical no-bust range, the trade will stand and no further action will be taken. If the price of the trade falls outside of the theoretical no-bust range, preferably, the evaluation logic 304 enables the alert logic 308. In this embodiment, the alert logic 308 can comprise a third processor or can rely on the computing power of the evaluation logic 304 and/or the determination logic 302.

[0042] Once a potential erroneous trade has been found to lie outside of the theoretical no-bust range, preferably the alert logic 308 enables an alarm in the control center 216. In alternative embodiments, the alarm also can be used to notify market participants. In one embodiment, different alarms are used to indicate different events. In a first mode, the type, or the frequency, or the loudness of a sound, or the brightness, or the frequency (e.g., a strobe), or the color of a visual alarm, or the frequency, or the intensity of a tactile pressure (e.g., a vibration) or other indicia (collectively and individually referred to as a “warning” hereinafter) may identify the data source or the type of data used to predict the synthetic market price and/or the theoretical no-bust range. For instance, a warning may identify a potential erroneous trade that lies outside the theoretical no-bust range when the no-bust range is based on electronic Exchange data. A second warning may indicate that the theoretical no-bust range was based on electronic exchange and live, open outcry trading data. A third warning may indicate that the theoretical no-bust range was based on the actual cash or spot market.

[0043] In a second mode, the warning may identify the product that was traded. In a futures market, for example, different products may generate different warnings. If the present embodiment were used at the Chicago Mercantile Exchange (“CME”), for example, a first warning may identify potential erroneous trades of the E-mini S&P 500®, a second or different warning may identify a potential erroneous trade of the E-mini NASDAQ-100®, and a third or different warning may identify a potential erroneous trade of another product, etc.

[0044] In a third mode, the warning may indicate the degree of separation between the price of a potential erroneous trade and the theoretical no-bust range or the synthesized market price. In an audible embodiment, for example, the intensity or frequency of the sound may indicate the degree of separation between the price of the potential erroneous trade and the theoretical no-bust range. Many other alternative embodiments are also possible. For instance, the intensity or frequency of a warning may indicate the level of experience of a market participant (e.g., a new market participant may have a louder or a brighter or a more powerful warning); the intensity or frequency of the warning may indicate the frequency that a market participant submits orders in error, executes erroneous trades, cancels trades, or distinguishes a market participant in any other way. In alternative embodiments, any combination or variation of warnings/alerts from the first, second, and third modes are used.

[0045] As shown in FIG. 4, the present alert method begins detecting potential erroneous trades at acts 400-404. At acts 400-404 the present alert method receives quotes and data manually or automatically. At acts, 402 and 404 the alert method receives real-time and/or delayed-time market information from an Exchange or an on-line data service or a data provider, or etc. Preferably, a communication method or technology is used that allows multiple programs that are running separately to simultaneously exchange data and commands.

[0046] At act 406, a correlation analysis, inference logic, and/or a prediction algorithm are used to predict a forward and/or regressive synthetic market price based at least in part on data received from one or more of the Exchange, an on-line data service, a manual data service, or another data provider. As shown by the multiple process boxes, one or more processes can be used to derive a forward and/or regressive synthetic market price. When more than one process is used, multiple synthetic market prices can be used to determine one or more theoretical no-bust ranges.

[0047] At act 408, the theoretical no-bust ranges are derived. Preferably, one or more theoretical no-bust range are used to determine if a warning should issue. While the theoretical no-bust range is a fixed number of ticks above or below the synthetic market prices in the present embodiment, in alternative embodiments the range comprises a fluid range that can vary within or by the market. In one embodiment, the upper and lower limits of the theoretical no bust range are symmetrical about the synthetic market price; in another embodiment, the separation between the upper and lower limits of the theoretical no-bust range to the synthetic market price are not equal.

[0048] At act 410, a memory stores one or more synthetic market prices, variance(s) used to predict the theoretical no-bust range(s), and the no-bust range(s). Because requests to cancel a trade can also be made to the Exchange well after the trade is executed, by storing one or more of these values, the present method can re-create the theoretical no-bust range, and preferably allow the Exchange to reach a decision whether to cancel a trade in a narrow time frame.

[0049] At act 414, the memory stores the details of the potentially erroneous trade that are received automatically from the trade matching system 210 or through a request to cancel a trade made by a market participant at act 412. Preferably, the details of the potentially erroneous trade facilitate the decision making process. In this embodiment, those details are in a protocol or can be converted to a protocol that allows the trade evaluation system 202 to determine if the potential erroneous trade lies outside the theoretical no-bust range at act 416.

[0050] If the trade evaluation system 202 determines that the price of the potentially erroneous trade lies outside the theoretical no-bust range, the trade evaluation system issues a warning to the control center 216 at act 418, and in some embodiments, to the markets to assure that market participants are aware that a potentially erroneous trade may be cancelled. Because not all market participants may have access to messages sent over the Exchange, alternative methods encompass communication systems that can forward alerts to market participants.

[0051] If an investigation is needed, at act 420, the Exchange or an automated system initiates an investigation to determine if the trade should be cancelled. An investigation may be needed if, for example, a party to a trade cannot be contacted, or does not agree to the cancellation of an order, or a third party objects to the cancellation of a trade. In those instances, the Exchange or the automated system, such as an expert system, will analyze the underlying circumstances of the trade and decide whether to cancel it.

[0052] If the price of a transaction lies within the theoretical no-bust range at act 416; or, when a decision whether to cancel a trade is reached, the present method ends at act 422. If the trade is to be cancelled, in one futures embodiment, the trade is taken out of the price stream, market participants are notified, and preferably the trade is also cancelled in the Exchange's clearinghouse.

[0053] In those alternative methods using multiple media types to make the control center 216 and/or the market participants aware that a trade may be cancelled, some alternative embodiments sort the warnings once the trade evaluation system 202 determines that the potential erroneous trade lies outside of the theoretical no-bust range as shown in FIG. 5.

[0054] Once the warnings are sorted at act 502, preferably the warnings are linked to a media at act 504. Preferably, at act 418, the warnings issue. Independent communication systems may forward the warnings to the market participants using any communication method or system, including a computer, a speaker, a telephone, or another device. Upon the issuance of the notice, preferably, an investigation is commenced at act 420.

[0055]FIG. 6 is a functional diagram of an alternative alert embodiment. FIG. 6 illustrates a computer 602 in a hub-and-spoke relationship, wherein details of trades, information of interest to the market, and price, time, trade activity, flows through a single entity, the computer 602 before the computer 602 issues alerts or displays trades that exceed theoretical thresholds on a monitor 604. In this embodiment, the applications shown within the computer 602 can be server-based applications that comprise a program stored on a network that can be used by more than one client machine at a time. While specific sources of software and data sources are shown in FIGS. 6-12, the embodiments encompasses other software, data, and sources. Preferably, the software can organize data through relationships or formulas, store information to facilitate searches, and in some embodiments, execute programs.

[0056] As shown in FIG. 7, a present trade limit opening method can be used to generate an application used to monitor trades and organize data using various spreadsheet cells and database fields. Preferably, formulas can establish relationships between selected cells, and in databases, fields.

[0057] At act 702, the present trade opening method opens a file containing a number of related worksheets (a/k/a “a workbook”). Upon its opening, the present trade opening method calls and runs the routines shown in acts 704-718.

[0058] At act 704, the cleaning method commences. Preferably, the present trade opening method closes any extra viewing windows, removes any data boarders, and resets window sizes. Preferably, the method then clears the columns and rows that comprise the worksheet(s), and saves the worksheet(s) in a memory.

[0059] At act 706, an array building method identifies the initial month of a contract and builds an array based on that initial month. In a futures Exchange, commodity contracts open and close at different time throughout the year. Based on date comparisons, act 706 synthesizes the contract dates through interprocess communication formulas such as Dynamic Data Exchange (“DDE”) formulas programmed within the cells of the worksheet.

[0060] At act 708, a database management system opens an existing file or creates a new file. Preferably, the database management system stores information in tables and can conduct searches on data stored in rows and columns. Preferably, a record of transactions or activities, such as a “Log Table,” is maintained in the existing or new file.

[0061] The present trade opening method continues by defining the end of day and a re-cycle time method at optional act 710. If an Exchange elects to define these parameters, the Exchange enters a time that closes out the monitoring method and a time to re-install the method. When operational, the re-cycle time establishes times or launches a timer that re-starts the opening procedure at a measured time interval. In some embodiments, a re-cycle time can be used to overcome a bug or a deficiency in software that causes the software to stall in a wait state, runs for extended periods of times, or fail for another reason. In other embodiments, the re-cycle time can build an archive in programmed increments.

[0062] At act 714, the present trade opening method performs an update. When an input disseminates a new price or a change in price for a specific commodity, for example, the array build act analyzes the new price change to determine if the price lies outside of a theoretical no-bust range. If the trade limits of the theoretical no bust range are exceeded, a warning issues and details of the trade, such as a time, price, and trader identities are recorded in the appropriate cell(s) within a worksheet log and/or in one or more selected fields of a database log.

[0063] When the details of the trade are recorded in the worksheet and/or the database log, preferably the present trade opening method formats the data, sets the window size, and opens the appropriate window. In the present embodiment, the details of the trade are recorded in files entitled “Exceed Limit Log” and “Error Log.”

[0064] At optional act 718, a cursor is placed in one of the cells or fields that exceeded the theoretical no-bust range. Thus, when used in a Futures Exchange, the present opening method identified the commodities being traded, the contract dates, price changes, and made comparisons to a theoretical no-bust range, and when prices lied outside the theoretical no-bust range, issued warnings. Potentially erroneous trades were flagged in a tangible and/or a digital media.

[0065] In the present trade opening method, the operational method continues until the method ends by closing a file. Preferably, the price updates occur when there is movement in the market, meaning when there is a change in an on-line price. In this embodiment, details of the array build act are further described by the acts of FIG. 8.

[0066] When a price update is received from a quote or data vendor at act 802, preferably, the update method 800 examines the new price to determine if that price exceeds the theoretical no-bust range. Preferably, the price updates selected price and time data in the worksheet cells and/or the database fields at act 804. If the theoretical no-bust range is exceeded, preferably an Exchange control center is notified by a warning. In an audio embodiment, for example, the array building act issues a warning by selecting an audio file such as a “WAV” file. A “WAV” file is a file format used in a windows operating environment that stores sound. Preferably, the update method 800 updates the “Exceed Trade Limit Logs” with details of the possible erroneous trade in worksheet cells and/or database fields at act 806. Preferably, the update method is coordinated to a time. Preferably, the time is a precise timekeeping signal, such as a clock signal that the present method receives from an atomic clock.

[0067] As further shown in FIG. 8, a system time input or time check at act 810 can be used to re-calculate a synthetic market price and a theoretical no-bust range at pre-determined intervals. In the illustrated method, the synthetic market price and a theoretical no-bust range is calculated in a five or ten minute interval. Preferably, the time is recorded in a database log that can be used in self-diagnostic routines. For example, if the exemplary time check act 810 does not poll an external timing source at an expected interval, the time check act 810 can record the error in worksheet cells and/or database fields. Once recorded, the time check act 810 can re-start the trade limit opening method by calling a re-start method shown in FIG. 11.

[0068] Preferably, the recycle time operational act 812 shown in FIG. 8 can also restart the trade limit opening method by calling the re-start method act 1102 of FIG. 11. When operational, the re-cycle time act 812 establishes a time or launches a timer that re-starts the opening method. In the illustrated embodiment, a re-start is programmed to occur at the exemplary Exchange defined time of one second past midnight. Preferably, the trade limit opening method records the restart time in a worksheet cell and/or database field.

[0069] The present trade opening method preferably ends automatically or upon demand. An unexpected occurrence or situation, for example, may require an operator to call an “end of the trading day” through a manual or software actuated means (e.g., a push button, switch, etc.). If the end of the trading day is called by an operator, occurs because of the natural close of the trading day, or occurs for any other reason, the end of day act 902 shown in FIG. 9 saves the log sheet in a memory.

[0070] In the illustrated embodiment, the “Exceed Limit Log” and the “Error Log” are saved in a memory. Preferably, the “Exceed Limit Log” includes the details of the potentially erroneous trades identified by the trade opening method; while the “Error Log” records the performance of the trade opening method. If there is a deficiency in the functionality of the acts or the program that can be in response to an unforeseen operating condition, for example, a record of those activities are preferably recorded within the “Error Log.” Preferably, the end of day process shown in FIG. 9 launches the methods shown in acts 1004 and 1006 of FIG. 10 and acts 704-718 of FIG. 7. Once the files are saved, acts 1004 and 1006 of the trade closing method are executed before launching the trade opening method acts 704-718 shown in FIG. 7.

[0071] When the trade opening method is to be closed at act 1002, preferably the trade closing method launches the routines shown in acts 1004-1012. At act 1004, the present trade closing method begins. Preferably, the trade closing method reset the timers or programs used to define the end of the trading day and the re-cycle time method shown in FIG. 8.

[0072] At act 1006, the system time input or time check act 810 shown in FIG. 8 is terminated. Preferably, the stopping of the time change timer stops the polling of an external time source that occurs at predetermined or programmed intervals.

[0073] At act 1008, the cleaning method commences. Preferably, the trade closing method closes any extra viewing windows, removes any data boarders, and resets window sizes. Preferably, the method then clears the columns and rows that comprise the worksheet(s), and saves the worksheet(s) in a memory.

[0074] At act 1010, the trading method continues by saving and then closing the open database files and recording the process start time. Preferably, the closing process act clears the pointers and references within the database fields. In the present embodiment, this reset or initialization is illustrated in FIG. 10 by setting the database references to “nothing,” a null character.

[0075] At act 1012 the workbooks are closed and the process ends until it is restarted automatically or by a user's initiative.

[0076]FIG. 11 illustrates the trade opening method restart, the constant value, and the file name methods. Preferably, the trade opening method re-start can be called by the time-check act 810 of FIG. 8, the re-cycle time act 812, or by an operator through a manual or software actuated means (e.g., a push button, switch, etc.).

[0077] As shown in FIG. 11 the restart act records the process start time and processes a database file, entitled “Log Table.” Once processed, the re-start act 1102 executes the stop on time act 1004 and stop time change time act 1006 shown in FIG. 10, and then executes the clean process act 704, the build worksheet data act 706, the new database file act 708, the optional run on time act 710, the run time change timer act 712, the array build act 714, the format sheet act 716, and the optional act of final selected cells act 718 shown in FIG. 7. In the present embodiment, the specific function, tasks, or routines of these acts are described above.

[0078] When the present trade opening method programs constant values or names a file the method launches a constant value method and a name sub-routine method, respectively. At act 1104, the constant value method is programmed with static variable that can be used in the illustrated methods of FIGS. 6-13. Similarly, act 1106 can use a current system, date, and time to derive and create workbook or spreadsheet names and database file names. In the present embodiment, the act 1106 may be called the end of day act 902 shown in FIG. 9, or the new database file act 708 shown in FIG. 7.

[0079] When an error occurs, the present trade opening method launches an error method shown in FIG. 12. Preferably, the error act 1202 is a program, procedure, or function that checks for errors such as type mismatches, overflows and underflows, loss of connectivity, etc. In the present embodiment, error detection instructions can be customized and executed by the trade limit opening method shown in FIG. 7, the operational methods shown in FIG. 8, and the closing methods shown in FIG. 9. In alternative embodiments, the error act can comprise intelligent software that uses rule-based adaptations to configure itself to operate optimally to detect problems and generate reports or displays about them.

[0080] Each of these methods, the opening, operational, and closing methods are also shown in the flow diagram of an alternative alert embodiment entitled a trade limit method shown in FIG. 13. In FIG. 13, the present trade limit method illustrates the opening method on the left-hand side, the operational method shown near the center and the closing method on the right-hand side. Preferably, the dashed lines indicate the act that are synchronized or rely on a system clock.

[0081] The present trade limit method begins with the trade limit opening method previously shown in FIG. 7. At act 702, the method opens a file containing a number of related worksheets (a/k/a “a workbook”). Upon its opening, the present trade opening method calls and runs the routines shown in acts 704-718.

[0082] At act 704, the cleaning method commences. Preferably, the present trade opening method closes any extra viewing windows, removes any data boarders, and resets window sizes. Preferably, the method then clears the columns and rows that comprise the worksheet(s), and saves the worksheet(s) in a memory.

[0083] At act 706, an array building method identifies the initial month of a contract and builds an array based on that initial month. In a futures Exchange, commodity contracts open and close at different time throughout the year. Based on date comparisons, act 706 synthesizes the contract dates through interprocess communication formulas such as Dynamic Data Exchange (“DDE”) formulas programmed within the cells of the worksheet.

[0084] At act 708, a database management system opens an existing file or creates a new file. Preferably, the database management system stores information in tables and can conduct searches on data stored in rows and columns. Preferably, a record of transactions or activities, such as a “Log Table,” is maintained in the existing or new file.

[0085] The present trade opening method continues by defining the end of day and a re-cycle time method at optional act 710. If an Exchange elects to define these parameters, the Exchange enters a time that closes out the monitoring method and a time to re-install the method. When operational, the re-cycle time establishes times or acts as a timer that re-starts the opening procedure. In some embodiments, a re-cycle time can be used to overcome a bug or a deficiency in software that is susceptible to corruption when the software stalls in a wait state, runs for extended periods of times, or fails for another reason. In other embodiments, the re-cycle time can build an archive in programmed increments.

[0086] At act 714, the present trade opening method performs an update. When an input disseminates a new price or a change in price for a specific commodity, for example, the array build act analyzes the new price change to determine if the price lies outside of a theoretical no-bust range. If the trade limits of the theoretical no bust range are exceeded, a warning issues and details of the trade, such as a time, price, and trader identities are recorded in the appropriate cell(s) within a worksheet log and/or in one or more selected fields of a database log.

[0087] When the details of the trade are recorded in the worksheet and/or the database log, preferably the present trade opening method formats the data, sets the window size, and opens the appropriate Window. In the present embodiment, the details of the trade are recorded in files entitled “Exceed Limit Log” and “Error Log.”

[0088] At optional act 718, a cursor is placed in one of the cells or fields that exceeded the theoretical no-bust range. Thus, when used in a Futures Exchange, the present opening method identified the commodities being traded, the contract dates, price changes, and made comparisons to a theoretical no-bust range, and when prices lied outside the theoretical no-bust range, issued warnings. Potentially erroneous trades were flagged in a tangible and/or a digital media.

[0089] When a price update is received from a quote or data vendor at act 802, preferably, the update method 800 examines the new price to determine if that price exceeds the theoretical no-bust range. Preferably, the price updates selected price and time data in the worksheet cells and/or the database fields at act 804. If the theoretical no-bust range is exceeded, preferably an Exchange control center is notified by a warning. In an audio embodiment, for example, the array building act issues a warning by selecting an audio file such as a “WAV” file. Preferably, the update method 800 updates the exceed trade limit logs with details of the possible erroneous trade in worksheet cells and/or database fields at act 806. Preferably, the update method is coordinated to a time. Preferably, the time is a precise timekeeping signal, such as a clock signal that the present method receives from an atomic clock.

[0090] As previously shown in FIG. 8, a system time input or time check at act 810 can be used to re-calculate a synthetic market price and a theoretical no-bust range at pre-determined intervals. In the illustrated method, the synthetic market price and a theoretical no-bust range is calculated in programmed time intervals. Preferably, the time is recorded in a database log that can be used in self-diagnostic routines. For example, if the exemplary time check act 810 does not poll an external timing source at an expected interval, the time check act 810 can record the error in worksheet cells and/or database fields. Once recorded, the time check act 810 can re-start the trade limit opening method by calling a re-start method act 1102 shown in FIGS. 11 and 13.

[0091] When operational, the re-cycle time act 812 establishes a time or launches a timer that re-starts the opening method. In the illustrated embodiment, a re-start is programmed to occur at the exemplary Exchange defined time of one second past midnight. Preferably, the trade limit opening method records the restart time in a worksheet cell and/or database field.

[0092] The present trade opening method preferably ends automatically or upon demand. An unexpected occurrence or situation, for example, may require an operator to call an “end of the trading day” through a manual or software actuated means (e.g., a push button, switch, etc.). If the end of the trading day is called by an operator, the natural close of the trading day, or for any other reason, the end of day act 902 saves the log sheet in a memory.

[0093] In the illustrated embodiment, the “Exceed Limit Log” and the “Error Log” are saved to a memory. Preferably, the “Exceed Limit Log” includes the details of the potentially erroneous trades identified by the trade opening method; while the “Error Log” records the performance of the trade opening method. If there is a deficiency in the functionality of the acts or the program that can be in response to an unforeseen operating condition, for example, a record of those activities are preferably recorded within the “Error Log.” Once the files are saved, the trade closing method shown in FIG. 10 is executed before launching the trade opening method shown in FIG. 7.

[0094] When the trade opening method is to be closed at act 1002, preferably the trade closing method launches the routines shown in acts 1004-1012 of FIG. 13.

[0095] At act 1004, the present trade closing method begins. Preferably, the trade closing method reset the timers or programs used to define the end of the trading day and the re-cycle time method shown in FIGS. 8 and 13.

[0096] At act 1006, the system time input or time check act 810 shown in FIG. 13 is terminated. Preferably, the stopping of the time change timer stops the polling of an external time source that occurs at predetermined or programmed intervals.

[0097] At act 1008, the cleaning method commences. Preferably, the trade closing method closes any extra viewing windows, removes any data boarders, and resets window sizes. Preferably, the method then clears the columns and rows that comprise the worksheet(s), and saves the worksheet(s) in a memory.

[0098] At act 1010, the trading method continues by saving and then closing the open database files and recording the process start time. Preferably, the closing process act clears the pointers and references within the database fields. In the present embodiment, this reset or initialization is illustrated in FIG. 10 by setting the database references to “nothing,” a null character.

[0099] At act 1012 the workbooks are closed and the process ends until it is restarted automatically or by a user's initiative. FIG. 13 further illustrates the trade opening method restart, the constant value, and the file name methods. Preferably, the trade opening method re-start can be called by the time-check act 810 of FIG. 13, the recycle time act 812, or by an operator through a manual or software actuated means 1102 (e.g., a push button, switch, etc.).

[0100] The present embodiments of the system and method described above provide Exchanges and users with a flexible approach and structure that minimize the harmful effects of selected trades executed in error. Preferably, the system and method can intervene by automatically identifying a trade that would appear to be outside of an expected, a predicted, or a prevailing market range of prices. A price that is not consistent with the history of a contract, is not consistent with the history of an underlying commodity, is not consistent with the price of a highly correlated investment, or is not consistent with, or bears no relationship to, a fair market value can be identified. In some embodiments, a program may analyze trades and make Exchange control centers aware, and in some embodiments, market participants aware of trades execute in error, before market participants discover them.

[0101] The above-described embodiments, scale well to large networks, new products, or the large volatility that occurs in the markets that trade popular contracts. These embodiments do not require repeated modifications. Preferably, the above-described embodiments provide a safe harbor to the parties of an erroneous trade, in which the error is based on the price at which the trade is made. The above describe embodiments describe the resolution of an erroneous trade the lies outside of the theoretical no-bust range of prices. While the resolution can result in a decision to cancel that trade, in some alternative embodiments, Exchanges may also sustain the trade but modify its terms.

[0102] Although the embodiments described above have primarily been explained through a futures market, the invention also facilitates any exchange between buyers and sellers, including markets that exchange equities, debt, investment indices, and other investments as well as any commodity or combination or series of commodity contracts, such as bundles that can comprise the purchase of one of a series of consecutive contracts. Moreover, while it is understood that the embodiments of the invention are directed to correcting errors in the price in which a contract or investment is traded, in some alternative embodiments, the theoretical no-bust range may identify trades in which the error is based on the number of contracts traded.

[0103] While some embodiments of the invention have been described, it should be apparent that many more embodiments and implementations are possible and are within the scope of this invention. It is intended that the foregoing detailed description be regarded as illustrative rather than limiting, and that it be understood that it is the following claims, including all equivalents, that are intended to define the spirit and scope of this invention. 

What is claimed is:
 1. An alert system for notifying an Exchange's staff of a trade that appears to be outside of an expected market range of prices, comprising: an input device that provides data used to generate a theoretical no-bust range of prices; a determination logic that derives the theoretical no-bust range of prices within which an erroneous trade can not be cancelled based on the data received from the input device; an evaluation logic that monitors trades matched in an automated matching system and compares those trades to the theoretical no-bust range of prices; and an alert logic that provides a notification when the evaluation logic identifies a potentially erroneous trade that lies outside the theoretical no-bust range of prices.
 2. The alert system of claim 1, wherein the notification comprises an audio alert.
 3. The alert system of claim 1, wherein the notification comprises a visual alert.
 4. The alert system of claim 1, wherein the notification comprises an alert perceptible to a sense of touch.
 5. The alert system of claim 1, wherein the notification comprises a combination of at least two of an audio alert, a visual alert, and an alert perceptible to a sense of touch.
 6. The alert system of claim 1, wherein the notification indicates that the theoretical no-bust range of prices was based on electronic exchange data.
 7. The alert system of claim 5, wherein the notification indicates that the theoretical no-bust range of prices was also based on a live, open outcry trading data.
 8. The alert system of claim 1, wherein the notification indicates the product that was traded.
 9. The alert system of claim 1, wherein the notification indicates the level of trading experience of a market participant.
 10. The alert system of claim 1, wherein the notification indicates a frequency that a market participant submits orders in error.
 11. The alert system of claim 1, wherein the determination logic further derives a synthetic market price in which the theoretical no-bust range of prices is a fixed number of ticks above and below the synthetic market price.
 12. The alert system of claim 1, wherein the separation between an upper limit of the theoretical no-bust range of prices and a synthetic market price is not equal to the separation between a lower limit of the theoretical no-bust range of prices and the and the synthetic market price.
 13. The alert system of claim 1, wherein the theoretical no-bust range is predicted from the cash prices of a physical commodity.
 14. The alert system of claim 1, wherein the theoretical no-bust range of prices is predicted from prices tracked from a live, open outcry-trading floor.
 15. The alert system of claim 1, wherein the theoretical no-bust range of prices is predicted from prices of a correlated market.
 16. The alert system of claim 1, wherein the theoretical no-bust range of prices is predicted from prices of a plurality of correlated markets.
 17. The alert system of claim 1, wherein the theoretical no-bust range of prices is predicted from prices that accurately reflect a futures marketplace.
 18. The alert system of claim 1, further comprising a communication system for notifying market participants of a potentially erroneous trade.
 19. The alert system of claim 1, wherein the input device comprises a device that provides quotes.
 20. The alert system of claim 1, wherein the input device comprises quote devices and data devices.
 21. The alert system of claim 20, wherein the input device comprises a device that provides data selected from the group consisting of bid prices, offer prices, trade prices, and daily settlement prices.
 22. The alert system of claim 1, wherein the determination logic and evaluation logic are resident to a server.
 23. The alert system of claim 1, wherein the determination logic and evaluation logic are resident to a server cluster.
 24. The alert system of claim 1, wherein the determination logic, evaluation logic, and alert logic are resident to a computer.
 25. The alert system of claim 1, wherein the determination logic comprises a first processor.
 26. The alert system of claim 25, wherein the evaluation logic comprises a second processor.
 27. The alert system of claim 25, wherein the alert logic comprises a third processor.
 28. The alert system of claim 1, wherein the potentially erroneous trade comprises a trade in an equities market.
 29. The alert system of claim 1, wherein the theoretical no-bust range of prices comprises more than one theoretical no-bust range of prices.
 30. The alert system of claim 1, wherein the potentially erroneous trade is identified by a request made by a market participant.
 31. An alert system for notifying an Exchange of a trade that appears to be outside of an expected range of prices, comprising: an input device that provides data used to generate a theoretical no-bust range of prices; a determination logic that derives the theoretical no-bust range of prices from data received from the input device; an evaluation logic that monitors trades matched in an electronic Exchange and compares those trades to the theoretical no-bust range; and an alert logic that notifies an Exchange when the evaluation logic identifies a potentially erroneous trade that lies outside the theoretical no-bust range of prices.
 32. The alert system of claim 31, wherein the notification comprises at least one alert selected from the group consisting essentially of an audio alert, a visual alert, and an alert perceptible to a sense of touch.
 33. The alert system of claim 31, wherein the notification indicates that the theoretical no-bust range of prices was based on electronic exchange data.
 34. The alert system of claim 31, wherein the notification indicates that the theoretical no-bust range of prices was based on a live, open outcry trading data.
 35. The alert system of claim 31, wherein the notification indicates the product that was traded.
 36. A method of notifying an Exchange of a trade that potentially lies outside of an expected range of prices, comprising: monitoring an input range of prices; deriving a theoretical no-bust range of prices within which an erroneous trade can not be cancelled based on the input range of prices; monitoring transactions executed by an automated matching system; comparing the prices of the transactions to the theoretical no-bust range of prices to determine if a potentially erroneous trade can be cancelled; and notifying an Exchange when one of the prices of the transactions lies outside of the theoretical no-bust range of prices.
 37. The method of claim 36, wherein the act of notifying the Exchange comprises issuing an audio alert.
 38. The method of claim 36, wherein the act of notifying the Exchange comprises issuing a visual alert.
 39. The method of claim 36, wherein the act of notifying the Exchange comprises issuing an alert perceptible to a sense of touch.
 40. The method of claim 36, wherein the act of notifying the Exchange comprises issuing a combination of at least two or more of an audio alert, a visual alert, and an alert perceptible to a sense of touch.
 41. The method of claim 36, wherein the act of notifying indicates that the theoretical no-bust range of prices was based on electronic exchange data.
 42. The method of claim 36, wherein the act of notifying indicates that the theoretical no-bust range of prices was based on a live, open outcry trading data.
 43. The method of claim 36, wherein the act of notifying indicates the product that was traded.
 44. The method of claim 36, wherein the act of notifying indicates the level of experience of a market participant.
 45. The method of claim 36, wherein the act of notifying indicates one of a frequency that a market participant submits orders in error, executes erroneous trades, or cancels trades.
 46. The method of claim 36, further comprising deriving a synthetic market price in which the theoretical no-bust range of prices is a fixed number of ticks above and below the synthetic market price.
 47. The method of claim 36, further comprises deriving a synthetic market price and wherein the separation between an upper limit of the theoretical no-bust range of prices and the synthetic market price is not equal to the separation between a lower limit of the theoretical no-bust range of prices and the and the synthetic market price.
 48. The method of claim 36, wherein the theoretical no-bust range is predicted from the cash prices of a physical commodity.
 49. The method of claim 36, wherein the theoretical no-bust range of prices is predicted from historical prices tracked from a live, open outcry-trading floor.
 50. The method of claim 36, wherein the theoretical no-bust range of prices is predicted from prices of a correlated investment.
 51. The method of claim 36, wherein the theoretical no-bust range of prices is predicted from prices of a plurality of correlated investments.
 52. The method of claim 36, wherein the theoretical no-bust range of prices is predicted from prices of a commodity contract.
 53. The method of claim 36, wherein the theoretical no-bust range of prices is predicted from prices of an equity investment.
 54. The method of claim 36, wherein the theoretical no-bust range of prices is predicted from prices of a debt investment.
 55. The method of claim 36, further comprising notifying market participants of a potentially erroneous trade.
 56. The method of claim 36, further comprising matching seller's offers with buyers bids with buyer's bids on a first in, first out basis.
 57. The method of claim 36, further comprising matching seller's offers with buyers bids with buyer's bids on an allocation-matching basis.
 58. The method of claim 36, further comprising matching seller's offers with buyers bids with buyer's bids on a hybrid price, time priority basis.
 59. The method of claim 36, wherein the act of deriving a theoretical no-bust range of prices comprises deriving more than one theoretical no-bust range of prices.
 60. The method of claim 36, further comprising receiving a request to cancel a potentially erroneous trade.
 61. The method of claim 36, wherein the act of deriving a theoretical no-bust range of prices occurs in real-time.
 62. The method of claim 36, wherein the act of monitoring transactions executed by an electronic Exchange occurs in real-time.
 63. The method of claim 36, wherein the act of comparing the prices of the transactions to the theoretical no-bust range of prices occurs in real-time.
 64. The method of claim 36, wherein the act of notifying an Exchange occurs in real-time. 